package com.heu.blood.autologous.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.heu.blood.application.vo.BloodApplicationVo;
import com.heu.blood.autologous.entity.ApplicationStateInfoEntity;
import com.heu.blood.autologous.entity.BloodApplicationAutologousEntity;
import com.heu.blood.autologous.vo.*;
import com.heu.blood.common.utils.PageUtils;

import java.util.List;

/**
 * 
 *
 * @author lyj
 * @email lyj@heu.com
 * @date 2024-11-27 17:50:46
 */
public interface BloodApplicationAutologousService extends IService<BloodApplicationAutologousEntity> {

    PageUtils queryPage(BloodApplicationAutologousSelectVo bloodApplicationAutologousSelectVo);

    int updateApplication(BloodApplicationAutologousVo bloodApplicationAutologousVo);

    int removeApplicationAndItemsByIds(List<BloodApplicationAutologousEntity> bloodAutologousApplication);

    BloodApplicationAutologousEntity selectBloodApplicationAutologousByApplicationId(String applicationId);

    int saveApplication(BloodApplicationAutologousVo bloodApplicationAutologousVo);

    BloodApplicationAutologousVo applicationInfo(String applicationId);

    BloodApplicationAutologousVo getApplicationInfo(BloodApplicationAutologousVo bloodApplicationAutologousVo);

    List<BloodApplicationAutologousItemAndCollectVo> getBloodAutologousApplicationAndCollectRecords(String applicationId);

    int generateAutologousApplicationId(BloodApplicationAutologousEntity bloodApplicationAutologousEntity);


    AutologousCenterFlowResultVo centFlowList(BloodApplicationAutologousSelectVo bloodApplicationAutologousSelectVo);

    List<ApplicationStateInfoEntity> getBloodApplicationAutologousState(String applicationId);

    BloodApplicationAutologousResultVo getApplicationAndBloodInformationByItemId(Long bloodapplicationItemId);
}

